<template>
  <a-form
    @submit="handleSubmit"
    :model="form"
    class="form"
    :rules="rules"
    ref="taskForm"
    :labelCol="formItemLayout.labelCol"
    :wrapperCol="formItemLayout.wrapperCol"
  >
    <a-row class="form-row" :gutter="16">
      <a-col :lg="6" :md="12" :sm="24">
        <a-form-item label="任务名" name="name2">
          <a-input placeholder="请输入任务名称" v-model:value="form.name2" />
        </a-form-item>
      </a-col>
      <a-col :xl="{span: 7, offset: 1}" :lg="{span: 8}" :md="{span: 12}" :sm="24">
        <a-form-item label="任务描述" name="url2">
          <a-input placeholder="请输入任务描述" v-model:value="form.url2" />
        </a-form-item>
      </a-col>
      <a-col :xl="{span: 9, offset: 1}" :lg="{span: 10}" :md="{span: 24}" :sm="24">
        <a-form-item label="执行人" name="owner2">
          <a-select placeholder="请选择执行人" v-model:value="form.owner2">
            <a-select-option value="黄丽丽">黄丽丽</a-select-option>
            <a-select-option value="李大刀">李大刀</a-select-option>
          </a-select>
        </a-form-item>
      </a-col>
    </a-row>
    <a-row class="form-row" :gutter="16">
      <a-col :lg="6" :md="12" :sm="24">
        <a-form-item label="责任人" name="approver2">
          <a-select placeholder="请选择责任人" v-model:value="form.approver2">
            <a-select-option value="王伟">王伟</a-select-option>
            <a-select-option value="李红军">李红军</a-select-option>
          </a-select>
        </a-form-item>
      </a-col>
      <a-col :xl="{span: 7, offset: 1}" :lg="{span: 8}" :md="{span: 12}" :sm="24">
        <a-form-item label="提醒时间" name="dateRange2">
          <a-time-picker style="width: 100%" v-model:value="form.dateRange2" />
        </a-form-item>
      </a-col>
      <a-col :xl="{span: 9, offset: 1}" :lg="{span: 10}" :md="{span: 24}" :sm="24">
        <a-form-item label="任务类型" name="type2">
          <a-select placeholder="请选择任务类型" v-model:value="form.type2">
            <a-select-option value="定时执行">定时执行</a-select-option>
            <a-select-option value="周期执行">周期执行</a-select-option>
          </a-select>
        </a-form-item>
      </a-col>
    </a-row>
    <a-form-item v-if="showSubmit">
      <a-button htmlType="submit" >Submit</a-button>
    </a-form-item>
  </a-form>
</template>

<script>
  import {Form, Button, Input, TimePicker, Select, Row, Col} from 'ant-design-vue';
  const FormItem = Form.Item;
  const { Option } = Select;
  export default {
    name: 'TaskForm',
    components: {
      ARow: Row,
      ACol: Col,
      AForm: Form,
      AButton: Button,
      AInput: Input,
      ATimePicker: TimePicker,
      AFormItem: FormItem,
      ASelect: Select,
      ASelectOption: Option,
    },
    props: {
      showSubmit: {
        type: Boolean,
        default: false
      }
    },
    data () {
      return {
        form: {
          name2: '',
          url2: '',
          owner2: '',
          approver2: '',
          dateRange2: null,
          type2: ''
        },
        formItemLayout: {
          labelCol: {
            xs: { span: 24 },
            sm: { span: 8 },
          },
          wrapperCol: {
            xs: { span: 24 },
            sm: { span: 16 },
          }
        },
        rules: {
          name2: [{ required: true, message: '请输入任务名称', whitespace: true}],
          url2: [{ required: true, message: '请输入任务描述', whitespace: true}],
          owner2: [{ required: true, message: '请选择执行人'}],
          approver2: [{ required: true, message: '请选择责任人'}],
          dateRange2: [{ required: true, message: '请选择提醒时间'}],
          type2: [{ required: true, message: '请选择任务类型'}]
        }
      }
    },
    methods: {
      handleSubmit (e) {
        e.preventDefault();
        this.$refs.taskForm.validateFields().then(() => {
          this.$notification['error']({
            message: 'Received values of form:',
            description: this.form
          })
        })
      }
    }
  }
</script>

<style scoped>

</style>
